package CapaLogica;

import ve.edu.ucab.server.logica.LogicaServidor;

public class ComunicacionCliente implements LogicaServidor
{

    public String realizarOperacion(String arg) {
        System.out.println(arg);
        int operacion = Integer.valueOf(arg.charAt(0)) - 48;

        switch (operacion)
        {
            case 1: return login (arg);
            case 2: return realizarReserva (arg);
            case 3: return registrarUsuario (arg);
            case 4: return consultarReserva (arg);
            case 5: return agregarHuesped (arg);
            case 6: return obtenerMontoReserva (arg);
            default: return "FALSE:Código de comunicación incorrecto";
        }
    }

    public String login (String mensaje) {
        String[] parametros = mensaje.split(":");
        return Operaciones.login(parametros[1], parametros[2]);
    }

    public String realizarReserva (String mensaje) {
        String[] parametros = mensaje.split(":");
        return Operaciones.realizarReserva
                (
                    parametros[1], parametros[2], parametros[3],
                    parametros[4], parametros[5]
                );
    }

    public String registrarUsuario (String mensaje) {
        String[] parametros = mensaje.split(":");
        return Operaciones.registrarUsuario
                (
                    parametros[1], parametros[2], parametros[3],
                    parametros[4].charAt(0), parametros[5], parametros[6].charAt(0),
                    parametros[7], parametros[8], parametros[9]
                );
    }

    public String consultarReserva (String mensaje) {
        String[] parametros = mensaje.split(":");
        return Operaciones.consultarReserva(parametros[1], parametros[2]);
    }

    public String agregarHuesped (String mensaje) {
        String[] parametros = mensaje.split(":");
        return Operaciones.agregarHuesped
                (
                    parametros[1], parametros[2],
                    parametros[3], parametros[4], parametros[5],
                    parametros[6].charAt(0), parametros[7]
                );
    }

    public String obtenerMontoReserva (String mensaje) {
        String[] parametros = mensaje.split(":");
        return Operaciones.obtenerMontoReserva(parametros[1], parametros[2]);
    }
}
